/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package matematikapirma;

import java.util.List;

/**
 *
 * @author Tadas
 */
public interface Curve {

    List<Point> getInitialPoints();

    List<Point> getPoints();

    void setOpen(boolean open);

    boolean isOpen();

    void addPoint(Point point);

    void removePoint(Point point);

    void setCurveAlgorithm(CurveAlgorithm algorithm);

    CurveAlgorithm getCurveAlgorithm();

    void addPoint(double x, double y);

    Surface getSurface();

    void updateCurve(Point point);

    Bounds getBounds();
}
